#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
视频预览区域模块
负责创建和管理视频预览区域的UI组件
"""

from PySide6.QtWidgets import QLabel, QVBoxLayout, QGroupBox
from PySide6.QtCore import Qt
from src.config import Config


class VideoPreviewArea:
    """视频预览区域类"""
    
    def __init__(self):
        """初始化视频预览区域"""
        self.video_label = None
        
    def create_video_preview_area(self, parent_layout):
        """
        创建视频预览区域
        
        创建用于显示视频帧的预览区域，包含一个带标题的GroupBox和一个用于显示视频帧的QLabel。
        QLabel设置了黑色背景和白色文字，初始显示提示信息"请选择视频文件"。
        
        Args:
            parent_layout (QVBoxLayout): 父布局管理器，用于添加预览区域组件
            
        Returns:
            tuple: (preview_group, video_label) 预览区域组和视频标签
        """
        preview_group = QGroupBox(Config.PREVIEW_GROUP_TITLE)
        preview_layout = QVBoxLayout(preview_group)
        
        # 视频显示标签
        self.video_label = QLabel(Config.PREVIEW_LABEL_DEFAULT_TEXT)
        self.video_label.setAlignment(Qt.AlignCenter)
        self.video_label.setMinimumSize(
            Config.PREVIEW_LABEL_MIN_WIDTH, 
            Config.PREVIEW_LABEL_MIN_HEIGHT
        )
        self.video_label.setStyleSheet(Config.PREVIEW_LABEL_STYLE)
        preview_layout.addWidget(self.video_label)
        
        parent_layout.addWidget(preview_group)
        
        return preview_group, self.video_label